$OpenBSD: patch-src_sqliteInt_h,v 1.13 2015/05/01 16:51:24 ajacoutot Exp $
--- src/sqliteInt.h.orig	Wed Nov 27 23:31:08 2013
+++ src/sqliteInt.h	Wed Nov 27 23:30:35 2013
@@ -61,10 +61,6 @@
 #pragma warn -spa /* Suspicious pointer arithmetic */
 #endif
 
-/* Needed for various definitions... */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
 
 #if defined(__OpenBSD__) && !defined(_BSD_SOURCE)
 # define _BSD_SOURCE
@@ -470,33 +466,26 @@ typedef INT8_TYPE i8;              /* 1-byte signed in
  typedef u32 tRowcnt;    /* 32-bit is the default */
 #endif
 
-/*
-** Macros to determine whether the machine is big or little endian,
-** evaluated at runtime.
-*/
-#ifdef SQLITE_AMALGAMATION
-const int sqlite3one = 1;
+#include <endian.h>
+#if _BYTE_ORDER == _BIG_ENDIAN
+#define SQLITE_BIGENDIAN	1
+#define SQLITE_LITTLEENDIAN	0
+#define SQLITE_UTF16NATIVE	SQLITE_UTF16BE
+#elif _BYTE_ORDER == _LITTLE_ENDIAN
+#define SQLITE_BIGENDIAN	0
+#define SQLITE_LITTLEENDIAN	1
+#define SQLITE_UTF16NATIVE	SQLITE_UTF16LE
 #else
-extern const int sqlite3one;
+#error "Help, I'm trapped in a PDP11"
 #endif
-#if defined(i386) || defined(__i386__) || defined(_M_IX86)\
-                             || defined(__x86_64) || defined(__x86_64__)
-# define SQLITE_BIGENDIAN    0
-# define SQLITE_LITTLEENDIAN 1
-# define SQLITE_UTF16NATIVE  SQLITE_UTF16LE
-#else
-# define SQLITE_BIGENDIAN    (*(char *)(&sqlite3one)==0)
-# define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1)
-# define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE)
-#endif
 
 /*
 ** Constants for the largest and smallest possible 64-bit signed integers.
 ** These macros are designed to work correctly on both 32-bit and 64-bit
 ** compilers.
 */
-#define LARGEST_INT64  (0xffffffff|(((i64)0x7fffffff)<<32))
-#define SMALLEST_INT64 (((i64)-1) - LARGEST_INT64)
+#define LARGEST_INT64	INT64_MAX
+#define SMALLEST_INT64	INT64_MIN
 
 /* 
 ** Round up a number to the next larger multiple of 8.  This is used
